package me.zhengjie.modules.insurance.pojo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

/**
 * 案件申请处理详情响应
 *
 * @author HeHui
 * @date 2022-01-04 23:20
 */
@Data
@ApiModel("案件申请处理详情响应")
public class InsuredApplyHandlerDetailsResponse implements Serializable {

    private static final long serialVersionUID = -1428392269805814062L;

    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 创建时间
     */
    private Date createTime;

    @ApiModelProperty(value = "案件申请人ID")
    private Long insuredUserId;

    @ApiModelProperty(value = "案件所属公司ID")
    private Long companyId;
    /**
     * 公司名称
     */
    @ApiModelProperty("公司名称")
    private String companyName;

    @ApiModelProperty(value = "案件所属公司站点ID")
    private Long companySiteId;

    @ApiModelProperty("公司站点名称")
    private String companySiteName;

    @ApiModelProperty(value = "站长姓名")
    private String siteUserName;

    @ApiModelProperty(value = "站长手机")
    private String siteUserMobile;

    @ApiModelProperty(value = "报案号")
    private String reportNo;

    @ApiModelProperty(value = "保单号")
    private String policyNo;

    @ApiModelProperty(value = "骑手名称")
    private String userName;

    @ApiModelProperty(value = "出险人手机号码")
    private String userMobile;

    @Column(name = "user_id_card",nullable = false)
    @ApiModelProperty(value = "骑手身份证")
    private String userIdCard;

    @ApiModelProperty(value = "理赔对象，1骑手,2公司,3三者")
    private Integer claimType;

    @ApiModelProperty(value = "责任判断ids")
    private String responsibilityIds;

    @ApiModelProperty(value = "有无附加险")
    private Integer additional;


    @ApiModelProperty(value = "事故发生时间")
    private Date accidentDate;

    @ApiModelProperty(value = "出险类型")
    private String accidentTypeIds;

    @ApiModelProperty(value = "事故区域code")
    private String accidentRegionCode;

    @ApiModelProperty(value = "事故地址")
    private String accidentAddress;

    @ApiModelProperty(value = "事故说明")
    private String accidentDesc;

    @ApiModelProperty(value = "理赔员ID，后台用户ID")
    private Long responsibleUserId;

    @ApiModelProperty("理赔员名称")
    private String responsibleUserName;


    @ApiModelProperty(value = "案件进度")
    private Integer caseSpeek;
    private String caseSpeekDesc;

    @ApiModelProperty(value = "案件状态")
    private Integer caseStatus;


    @ApiModelProperty(value = "主险赔付金额")
    private BigDecimal mainInsuredCompensationAmount;

    @ApiModelProperty(value = "附加险赔付金额")
    private BigDecimal additionalMainInsuredCompensationAmount;

    @ApiModelProperty(value = "其他金额")
    private BigDecimal otherAmount;



    @ApiModelProperty("主要资料")
    private List<String> mainDoc;

    @ApiModelProperty("附加资料")
    private List<String> additionalDoc;

    private Date nextConnectTime;


    @ApiModelProperty("沟通动态")
    private List<InsuredApplyConnectRecordResponse> connectRecords;

    /**
     * 主险方案名称
     */
    @ApiModelProperty("主险方案名称")
    private String mainSchemeName;
    /**
     * 附加险方案名称
     */
    @ApiModelProperty("附加险方案名称")
    private String additionalSchemeName;


    private Long mainScheme;

    private Long additionalScheme;

    private Timestamp overTime;
}
